#ifndef SENSOR_H
#define SENSOR_H

#include <stdint.h>

/**
 * @brief 传感器控制模式结构体
 * 
 * 用于通过TCP控制四种传感器模式
 */
typedef struct {
    /**
     * @brief 新风风扇控制
     * 0: 自动模式
     * 1：手动关闭
     * 2: 手动开启
     */
    uint16_t fresh_fan;
    
    /**
     * @brief 自动灯光控制
     * 1: 关闭
     * 0: 开启自动模式
     */
    uint16_t auto_light;
    
    /**
     * @brief 座椅控制
     * 0: 默认位置
     * 1: 坐模式
     * 2: 躺模式
     * 3: 睡模式
     */
    uint16_t seat_ctrl;
    
    /**
     * @brief 呼吸灯控制
     * 0: 关闭
     * 1: 红色
     * 2: 绿色
     * 3: 蓝色
     * 4: 彩虹渐变
     */
    uint16_t breath_led;

    uint16_t wiper_ctrl;
} SensorControl;

typedef struct {
    // 光照强度
    int light_level;
    // 温度
    float temperature;
    // 湿度
    float humidity;
    // 雨量
    float rain_level;
} SensorData;

void sensor_change(char* data);

void data_set_light(int light);

void data_set_rain(float rain);

void data_set_th(float temperature,float humidity);

void data_to_string(char* buffer, size_t size,SensorData* data);

SensorData data_get(void);

SensorControl sensor_get(void);

#endif